home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / infosrvr / doc / www_talk.arc / 000331_connolly@pixel.convex.com _Tue Nov 17 15:41:00 1992.msg < prev    next >
Internet Message Format  |  1992-11-30  |  4KB

  1. Return-Path: <connolly@pixel.convex.com>
  2. Received: from dxmint.cern.ch by  nxoc01.cern.ch  (NeXT-1.0 (From Sendmail 5.52)/NeXT-2.0)
  3.     id AA02789; Tue, 17 Nov 92 15:41:00 MET
  4. Received: by dxmint.cern.ch (dxcern) (5.57/3.14)
  5.     id AA04380; Tue, 17 Nov 92 15:54:00 +0100
  6. Received: from pixel.convex.com by convex.convex.com (5.64/1.35)
  7.     id AA07993; Tue, 17 Nov 92 08:53:09 -0600
  8. Received: from localhost by pixel.convex.com (5.64/1.28)
  9.     id AA07331; Tue, 17 Nov 92 08:53:07 -0600
  10. Message-Id: <9211171453.AA07331@pixel.convex.com>
  11. To: Edward Vielmetti <emv@msen.com>
  12. Cc: www-talk@nxoc01.cern.ch
  13. Subject: SGML Cop backs off
  14.         [was Re: proposed registration of type 'text/html' for MIME ]
  15. In-Reply-To: Your message of "Tue, 10 Nov 92 15:13:07 EST."
  16.              <m0mp1xh-00009MC@garnet.msen.com>
  17. Date: Tue, 17 Nov 92 08:53:07 CST
  18. From: Dan Connolly <connolly@pixel.convex.com>
  19.  
  20. I've reconsidered my position on the "framing tags" in HTML after
  21. a more careful consideration of the SGML standard, and after
  22. receiving the O'Reilly/HaL DocBook materials and the MidasWWW
  23. browser.
  24.  
  25. To refresh your memory...
  26.  
  27. >     Currently HTML documents are transmitted without the normal SGML framing
  28. >     tags, but if these are included parsers will ignore them.
  29. >
  30. >I don't know what "the normal SGML framing tags" are. An SGML document
  31. >has three parts: the SGML declaration, the prologue, and the instance.
  32. >It is common in SGML applications to use an implied SGML declaration
  33. >and include the prologue by reference (kinda like an #include
  34. >directive in C.) but without these "framing tags," it's just not an
  35. >SGML document.
  36.  
  37. The SGML standard is big on the distinction between Entities and
  38. everything else; that is, the physical breakup of an SGML document
  39. into storage units such as files, directories, MIME body parts,
  40. collectively "entities" is pretty much arbitrary (you can't break
  41. <TITLE> between <TI and TLE>,, but other than that,
  42. it's pretty much fair game.)
  43.  
  44. So it appears that it's not necessary or even wise to model the HTML
  45. data format as an SGML document entity, but rather an SGML text
  46. entity.  That is, the way to validate/parse an HTML document is not to
  47. sick the parser on the text/html body part itself, but on a document
  48. consisting of two entities: the HTML DTD entity, and the text/html
  49. body part.
  50.  
  51. If we were talking about a text/c-program content type, what I
  52. was suggesting would be like putting the line:
  53.  
  54. #include <stdlib.h>
  55.  
  56. at the top of every text/c-program body part. What I'm suggesting
  57. now is like assuming every text/c-program gets stdlib.h prepended
  58. before compiling.
  59.  
  60. This makes an assumption that text/html data has this HTML DTD
  61. entity in front of it all the time, but that assumption has always
  62. been there.
  63.  
  64. Besides, forcing text/html parser to grok SGML document entities
  65. creates some sticky issues -- we'd have to limit the prologue
  66. to the simple <!DOCTYPE HTML SYSTEM>, and that's not really legal.
  67. You're supposed to be able to do things like:
  68.  
  69. <!DOCTYPE HTML SYSTEM [
  70. <!ENTITY smiley ":-)"> <!-- add my own "macro" -->
  71. ]>
  72. <HTML><TITLE>The history of the smiley: &smiley;</TITLE>
  73. ...
  74.  
  75. If we adopt this change of perspective, we should make it clear
  76. in the HTML specification that for the purposes of SGML, a text/html
  77. body part is not an SGML document entity, but an SGML text
  78. entity. The html.dtd entity and the text/html body part text entity
  79. comprise an SGML document. I need to update html.dtd, fix-html.pl,
  80. and the www_and_frame materials to reflect this change of
  81. perspective.
  82.  
  83. By the way: this change makes it more staightforward to use an
  84. SGML declaration other than the default, e.g. to increase NAMELEN
  85. to allow tags larger than 8 characters. Should we do that while
  86. we're at it?
  87.  
  88. Dan
  89.  
  90. p.s. Check out the MidasWWW browser. It's long overdue in the WWW
  91. project, but it's worth the wait!